package com.zw.april14thh.controller;

import com.zw.april14thh.entity.MemberUser;
import com.zw.april14thh.service.AdminUserService;
import com.zw.april14thh.service.BusinessService;
import com.zw.april14thh.service.MemberUserService;
import com.zw.april14thh.vo.AjaxResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

@RestController
@RequestMapping("user")
public class UserController {

    @Autowired
    BusinessService businessService;


    @Autowired
    MemberUserService memberUserService;
    /**
     * 查询各类型项目未办理人数
     * @return
     */
    @PostMapping("/countNoDo")
    public AjaxResult countNoDo(){
        return businessService.getCountNoDo();
    }

    /**
     * 查看用户是否需要填写
     * @return
     */
    public AjaxResult queuingUp(Integer type,Integer userId){

        //先检测用户是否有尚未办理的业务  （当天的信息） 有的话直接跳转

        return businessService.queuingUp(type,userId);
    }

    /**
     * 储存信息并开始排队
     * @return
     */
    @PostMapping("/information")
    public AjaxResult setInformation(Integer type,String UnitName ,String Contacts,String contactNumber,Integer UserId){
        return businessService.information(UserId,type,UnitName,Contacts,contactNumber);
    }
    /**
     * 查询自己的排队信息
     * @return
     */
    @PostMapping("/queuing")
    public AjaxResult queuing(Integer UserId){

        //查询业务表状态  为2 啧提示自己排队号和 请到 n号窗口办理

        //查询业务表状态  为1 查询排队总人数和 自己的排队id

        //查询业务表状态  为3 返回办结时间

        return businessService.queuingStatus(UserId);
    }

    /**
     * 放弃排队信息
     * @return
     */
    @PostMapping ("/cancelQueuing")
    public AjaxResult quecancelQueuinging(String UserId){

        //查询是否被叫号  未被叫号 才可取消

        //更改业务表状态为0

        return businessService.cancelQueuing(UserId);
    }

    @PostMapping("/login")
    public AjaxResult login(String js_code ){

        return memberUserService.login(js_code);

    }
//    @PostMapping("/queueingOr")
//    public AjaxResult queueingOr(String UserId){
//
//    }

    @PostMapping("/register")

    public AjaxResult register( @RequestBody MemberUser memberUser){

        return memberUserService.register(memberUser);

    }
}
